package top.whysu.study.thinkinjava.chapter8.polymorphism.example1;

public class Music2 {
    public static void tune(Wind i) {
        i.play(Note.MIDDLE_C);
    }

    public static void tune(Stringed i) {
        i.play(Note.MIDDLE_C);
    }

    public static void main(String[] args) {
        // Music.java的tune方法为什么要故意忘记对象的类型呢？
        // 如果让tune不接受Instrument的话，则就会像Music2.java这样, Instrument有多少个子类，就要写多少个tune方法
        Wind wind = new Wind();
        Music2.tune(wind);
        System.out.println(wind);

        Stringed stringed = new Stringed();
        Music2.tune(stringed);
        System.out.println(stringed);
    }

}
